class Solution:
    def removeKdigits(self, num: str, k: int) -> str:
        result=""
        offset=0
        count=0
        flag=False
        if k==len(num):
            return "0"
        def findmin(offset,step):
            minindex=offset
            border=offset+step if offset+step<=len(num) else len(num)
            for i in range(offset+1,border):
                if num[minindex]>num[i]:
                    minindex=i
            return minindex
        while count<k and offset<len(num):
            minindex=findmin(offset,k-count+1)
            if num[minindex]!="0" or flag: 
                result+=num[minindex]
                flag=True
            count+=(minindex-offset)
            offset=minindex+1
        result+=num[offset:]
        if result=="":
            return "0"
        return result[:len(num)-k]

s=Solution()
print(s.removeKdigits("4321",2))


'''
执行用时：
320 ms
, 在所有 Python3 提交中击败了
9.76%
的用户
内存消耗：
13.5 MB
, 在所有 Python3 提交中击败了
87.19%
的用户
'''